home *** CD-ROM | disk | FTP | other *** search
- Quick Utils 3.2
- (C) Copyright 1994 by Henning Vahlenkamp
-
-
- I) Disclaimer:
- --------------
- While every effort has been made to make this package bug-free, the author
- assumes no responsibility for any incidental or consequential damages
- resulting from the use or misuse of this package in whole or in part. There
- are also no implied or expressed warranties regarding this package in whole or
- in part.
-
-
- II) Status:
- -----------
- This package is shareware. If you find it useful in whole or in part, please
- send the registration fee ($10 US by check or money order) to the following
- address:
-
- Henning Vahlenkamp
- 216 Spring Hill Road
- Matawan, NJ 07747
-
- If you send a 3.5" disk and a SASE along with the registration, you'll receive
- the next update free. Registered users of previous versions of Quick Utils
- needn't send the registration fee.
-
-
- III) What is it?:
- -----------------
- Quick Utils is a group of 14 small, tightly written and optimized utilities
- that perform various useful functions (see below). They work with any PC
- using at least DOS 3.3. I couldn't find any programs that quickly and easily
- perform these tasks to my liking, so I decided to write my own.
-
-
- IV) History:
- ------------
- 2.0 - first public release
- includes BIOSDATE, CONTEXT, CRYPT, EVAL, TEXTAN
- 3.0 - added CAT, DTSET, FINDER, INFO, MOVE, RENDIR, SPIN, SPLIT
- incorporated BIOSDATE into INFO
- fixed bug in square root function of EVAL
- enhanced previous programs
- 3.1 - added CALENDAR, PASSLOCK
- replaced EVAL with CALC, a greatly enhanced version
- renamed RENDIR to QREN
- fixed bug in disk id display of INFO
- enhanced previous programs
- 3.2 - added extended/standard ASCII option to CALENDAR
- rewrote SPIN for much greater accuracy
- various minor enhancements
-
-
- V) Documentation:
- -----------------
- With the exception of INFO, typing any of the commands without parameters, as
- well as with incorrect parameters, will display a copyright message/usage
- guide for that command. The parameters shown in the guide contain symbols
- whose meanings are as follows:
-
- <parameter> a required parameter
- [parameter] an optional parameter
- parameter1|parameter2 use only one of the two parameters
- parameter1+parameter2 use one or both of the parameters
-
- In this section, each command's message/usage guide is shown followed by a
- more detailed discussion of that command.
-
- A)********************************************************************
- »Calc 3.2« ∞ the command line calculator
- (C) 1994 by Henning Vahlenkamp
-
- Usage: CALC <expression|?>
- constants: e pi
- operators: + - * / \ ^ & | ~ < > <= >= <> ()
- functions: sin(x) cos(x) tan(x) csc(x) sec(x) cot(x)
- : arcsin(x) arccos(x) arctan(x) arccsc(x) arcsec(x) arccot(x)
- : sinh(x) cosh(x) tanh(x) csch(x) sech(x) coth(x)
- : arcsinh(x) arccosh(x) arctanh(x) arcscsh(x) arcsech(x) arccoth(x)
- : ln(x) log(base,exponent) sign(x) sqrt(x)
- note : \ {mod}, ^ {power}, & {and}, | {or}, ~ {not}, x {argument}
- : sign(x) returns -1 (x<0), 0 (x=0), 1 (x>0)
- : ? {use interactive mode}
-
- CALC performs quick calculations when you don't have a calculator handy.
- Simply give it an arbitrary mathematical expression consisting of any
- combination of the above constants, operators, and functions. It also
- supports parentheses nesting subexpressions. Standard arithmetic conventions
- apply, meaning operators separated by operands, multiplication takes
- precedence over addition, etc.
- For example,
- (3+(4-5)*6/7+sqrt(4)+3.8^2)
- yields an answer of 18.58285714300
- If you type a ? instead of an expression, CALC starts in interactive mode,
- so you can do multiple calculations without rerunning the program each time.
- Pressing Enter by itself at the expression prompt quits CALC. By the way,
- CALC is accurate to 11 decimal places regardless of whether you have a math
- coprocessor.
-
- B)********************************************************************
- »Calendar 3.2« ∞ the calendar generator
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: CALENDAR <year> <style> [[path]filename]
- year : 1800<=year<=9999
- style: /e {use extended ASCII for borders}
- /s {use standard ASCII for borders}
- note : without a filename, output goes to the screen
-
- CALENDAR generates attractive, full year calendars that fit onto standard
- 8.5"x11" sheets of paper. Simply give it a year and a border style, and it
- will send the resulting calendar to the screen or to a text file if a filename
- is specified. You can then copy the file to your printer. It uses
- CALENDAR.DT1 (extended ASCII borders) and CALENDAR.DT2 (standard ASCII
- borders) as templates. You can customize these templates to your liking, but
- make sure that the positions for each month and space for the title remain the
- same, as the program expects them where they are.
-
- C)********************************************************************
- »Cat 3.2« ∞ the file displayer
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: CAT <switch> [path]<filename> [search_string]
- switches: /p {printable chars ■ASCII#10,13,32->255}
- : /d {standard printables ■ASCII#10,13,32->127}
- : /h {hexadecimal}
- : /s {search, search_string can be anything}
-
- CAT works like TYPE, but allows filtering of the file to be displayed. For
- example, you can filter out unprintable (control) characters and the
- nonstandard IBM graphics characters. CAT is especially useful for displaying
- all the text in binary files. Plus, CAT can display files in hexadecimal
- format. Each line of the hex dump begins with the offset of the first of the
- 16 bytes on the line, followed by the bytes (two hex digits each), followed by
- an ASCII representation of the bytes; unprintable characters are replaced by
- periods. There's also a searching mode whereby you specify a string of
- characters, and CAT returns all the locations (offsets) in the file containing
- that string.
-
- D)********************************************************************
- »ConText 3.2« ∞ the textfile converter
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: CONTEXT <switch> [path]<sourcefile> [path]<targetfile>
- switches: /up {UNIX|Amiga->PC} | /pm {PC->Mac}
- : /um {UNIX|Amiga->Mac} | /mu {Mac->UNIX|Amiga}
- : /pu {PC->UNIX|Amiga} | /mp {Mac->PC}
- : /ul {uppercase->lowercase} | /lu {lowercase->uppercase}
- : /s {strip ASCII #s>127} | /c {strip all control chars}
- : /e {strip all line endings}
- note : source & target must be different files or paths
-
- CONTEXT is a conversion program which converts text files among UNIX/
- Amiga, PC, and Macintosh platforms in any direction. This is necessary
- since each platform uses different end-of-line markers.
-
- platform marker(s)
- ---------- ---------
- UNIX/Amiga lf
- PC cr,lf
- Macintosh cr
-
- (lf=line feed, ASCII#10; cr=carriage return, ASCII#13)
-
- In addition, CONTEXT can convert all the letters in a file between upper and
- lower case, remove nonstandard ASCII characters (128..255), remove all control
- characters (except for line endings), and remove all the line endings. Giving
- it anything other than an ASCII text file will produce meaningless results.
-
- E)********************************************************************
- »Crypt 3.2« ∞ the file en/decrypter
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: CRYPT <switch> <password> [path]<sourcefile> [path]<targetfile>
- switches: /e {encrypt} | /d {decrypt}
- password: any # of characters, no spaces
- note : source & target must be different files or paths
-
- CRYPT protects files from prying eyes by scrambling their contents
- according to a password you supply. It also decrypts encrypted files if
- you supply the same password you used to encrypt. Don't forget your
- password, since files can't be restored otherwise. In addition to
- documents, CRYPT is useful for executables, as encrypted files can't be run
- successfully. CRYPT attaches a tiny message to the beginning of encrypted
- files so you can easily recognize them. Just type a file you're uncertain
- about and look for "Crypt3.0!" This version uses the same en/decryption
- algorithm as 3.0, which was improved from 2.0. Files encrypted with 2.0 can't
- be decrypted with later versions and vice versa.
-
- F)********************************************************************
- »DTSet 3.2« ∞ the file date/time modifier
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: DTSET [path]<filename> <[date]+[time]>
- date: MM-DD-YY {MM 1..12, DD 1..31, YY 80..99
- time: HH:NN {HH 0..23, NN 0..59}
-
- Inspired by the AmigaDOS SetDate command, DTSET permits you to change the
- date and/or time of one or more files. Using it is very simple; just follow
- the above template (MM=month,DD=day,YY=year,HH=hour,NN=minute). Remember to
- specify the time with the 24-hour clock (e.g. 3:00PM is 15:00). Error
- checking is limited, so if you enter numbers outside the acceptable ranges,
- the resulting dates and/or times will be unpredictable.
-
- G)********************************************************************
- »Finder 3.2« ∞ the file finder
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: FINDER [switch] [path]<filename>
- switch: /n {no searching lower directories}
- note : searching starts downward from path (or current dir)
-
- FINDER is a file finding utility. Give it a file specification, and it will
- search the specified (or current) directory plus all lower subdirectories for
- all matches. You can also choose to search the one directory only.
- Matches are displayed in a format similar to that of DIR, except FINDER also
- shows all attributes (even hidden files) and each file's path.
-
- attributes: rhsvda
- r=read only ─┐ ──┬───
- h=hidden │ │
- s=system file │ letter in one of these positions means bit is set
- v=volume label │ dash " " " " " " " " clear
- d=directory │
- a=archive ─┘
-
- H)********************************************************************
- »Info 3.2« ∞ the information displayer
- (c) Copyright 1994 Henning Vahlenkamp
-
- Usage: INFO [drive]
- drive: A: .. Z:
-
- INFO without any parameters reports some general information about your
- system. For example:
-
- DOS version : 5.0
- ROM BIOS date : 12/01/88
- ctrl-break flag : FALSE (off)
- verify flag : FALSE (off)
- free memory : 288960 bytes
- largest block : 288960 bytes
- date : Monday July 11, 1994
- time : 3:20:0.0pm
- environment strings:
- --------------------
- COMSPEC=C:\DOS\COMMAND.COM
- PATH=C:\;C:\DOS;C:\NORTON;C:\PROWRITE;C:\TURBO
- PROMPT=TIME = $T$H$H$H$H$H$H$_DATE = $D$_$P$G$
-
- Giving INFO a drive letter makes it print a lot of disk-related information.
- For example, INFO C: would print:
-
- Information for drive->c: unit->2 type->fixed disk
- ---------------------------------------------------
- total bytes : 42844160 bytes per sector : 512
- bytes used : 22683648 (53%) bytes per cluster : 2048
- bytes free : 20160512 (47%) sectors per cluster : 4
- sectors : 83680 sectors per FAT : 82
- clusters : 20920 sectors per track : 40
- cylinders(tracks) : 523 reserved sectors : 1
- FATs : 2 hidden sectors : 40
- max root dir entries: 512 media descriptor byte: 248
- disk sides : 4 disk id : MSDOS5.0
-
- sector: 0 boot record
- 1-164 FAT
- 165-196 root dir
- 197-83639 data
-
- You can view the message/usage guide by giving INFO a question mark as a
- parameter. Explanations of all the things reported by INFO are beyond the
- scope of this documentation.
-
- I)********************************************************************
- »Move 3.2« ∞ the file mover
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: uses COPY command syntax
-
- MOVE simply copies files from a source to a destination and deletes the
- source. It's the equivalent of using a DEL after a COPY - only more
- convenient. MOVE works just like COPY.
-
- J)********************************************************************
- »PassLock 3.2« ∞ a system access protection utility
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: PASSLOCK <switch> <sourcefile> [targetfile]
- switches: /c {create encoded config file}
- {targetfile required}
- /p {do security check}
- note : source & target must be different files or paths
-
- PassLock is a handy utility to prevent unauthorized users from gaining access
- to your computer. It uses a configuration file consisting of login names and
- passwords for up to 50 users. In order to gain access, one would need to know
- a valid login/password combination.
-
- The first step in installing PassLock is to create a configuration file. You
- start with a simple ASCII text file such as this (LOGFILE.TXT):
-
- vahlenkamp,testpass1
- security,check
-
- Each line of the file should contain a login name, followed by a single comma,
- followed by a password, followed by a line ending (CR,LF). For simplicity,
- try to limit each line to 80 characters. Don't put commas anywhere else,
- since PassLock uses them as separators. The last character of the file should
- be an EOF. Most word processors and text editors should be able to create
- correct files for you.
-
- Now run PassLock with the "/c" switch, a sourcefile name (the file you just
- created), and a targetfile name (the resulting configuration file). PassLock
- will write an encoded version of the sourcefile. The configuration file is
- encoded for an extra measure of security. Just be sure to keep a copy of the
- unencoded sourcefile in a safe place in case you forget your login name or
- password.
-
- The included sample configuration file, PASSLOCK.CFG, was derived from
- LOGFILE.TXT.
-
- Once a configuration file is created, you need to add PassLock to your
- AUTOEXEC.BAT file so that it runs every time you start up your computer. Add
- the following line before anything else in AUTOEXEC.BAT:
-
- passlock /p <sourcefile>
-
- where <sourcefile> is now the name of your configuration file. You can also
- type this from the command line to protect your computer if it is left on and
- unattended temporarily.
-
- Upon running PassLock, you'll be prompted for your login name, followed by
- your password. Press Enter after each. Using unassociated login names and
- passwords won't work. Moreover, you have only three chances to enter each.
- After the third incorrect input, the program will freeze, completely locking
- out the keyboard, forcing you to turn the computer off and reboot. The same
- thing happens by trying to bypass the program with CTRL-BREAK. This will
- frustrate those attempting to guess your login name or password.
-
- PassLock should provide adequate protection against casual users, but the more
- determined may still get in by booting off a floppy instead of the hard disk.
- Unfortunately, there is really no way to prevent this via software alone. For
- total security, you would need some kind of hardware device, or perhaps you
- could remove the floppy drives from your computer.
-
- K)********************************************************************
- »QRen 3.2« ∞ the file/directory renamer
- (c) Copyright 1994 Henning Vahlenkamp
-
- Usage: QREN [path]<oldname> <newname>
-
- QREN performs another simple function - renaming directories. It works
- just like REN, accepting files as well.
-
- L)********************************************************************
- »Spin 3.2« ∞ the disk spinner
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: SPIN <drive> <time>
- drive: A: .. Z:
- time : /3 {30 sec.} | /6 {60 sec.}
- note : without time parameter, disk spins until a keypress
-
- SPIN makes it easy to clean the read/write heads of a floppy drive by spinning
- a (user-supplied) cleaning disk in the drive. While spinning, it also moves
- the heads randomly so that no part of the cleaning disk is overused. You can
- choose either a short spin (30 sec.) or a long one (60 sec.). SPIN
- automatically detects invalid drives and fixed disks, aborting in both cases.
- Omitting the time parameter spins the disk and displays the elapsed time until
- you press a key.
-
- M)********************************************************************
- »Split 3.2« ∞ the file splitter
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: SPLIT <# parts> [path]<sourcefile> [[path]targetfile]
- # parts: 2..255
- note : source extension cannot be in 1..255
- : resulting file extension is part #
- : rejoin files w. COPY /B ...
-
- I wrote SPLIT in order to transfer files too large to fit on a single floppy
- disk from one computer to another. You may find it equally useful. This
- utility cuts up any file into a user-specified number of parts. The resulting
- files' extensions are the numbers of the parts. There's no need for an
- UNSPLIT command since parts can be rejoined with COPY. Just remember to
- rejoin them in the correct order (xxxxxxxx.1 followed by xxxxxxxx.2 etc.).
-
- N)********************************************************************
- »TextAn 3.2« ∞ the textfile analyzer
- (c) Copyright 1994 by Henning Vahlenkamp
-
- Usage: TEXTAN [path]<filename>
-
- TEXTAN analyzes text files, calculating a lot of statistics about them.
- Here's a sample analysis of this file:
-
- Analyzing (QUTILS32.DOC)...done
- ------------------------------------------------------------
- file size :19146 paragraphs :431
- nonprintable chars:863 lines :431
- printable chars :18283 pages (66 lines each) :7
- alphanumerics :12643 avg word length :4.57
- letters :12191 avg words/sentence :15.19
- digits :452 avg words/paragraph :6.42
- symbols :5640 avg words/page :395.00
- words :2765 avg sentences/paragraph:0.42
- sentences :182 avg sentences/page :26.00
- exclamatory(!) :2 avg paragraphs/page :61.57
- interrogative(?) :5
- declarative(.) :175
-
- Giving it anything other than an ASCII text file will produce meaningless
- results.
-
-
- VI) Notes:
- ----------
- CAT, CONTEXT, CRYPT, SPLIT, and TEXTAN can process files of any size,
- since they all have reusable input/output buffers.
- DTSET, FINDER, and MOVE are the only commands supporting DOS wild cards.
- The functions of MOVE and QREN are now part of DOS as of version 6.0. I
- decided to keep them in Quick Utils since they were developed prior to the
- release of DOS 6.
-
- Questions, comments, bug reports, and suggestions for improvements are
- welcome by mail or e-mail (vahlenka@trenton.edu).
-
- That's all for now. I hope you find Quick Utils as useful as I do.